.YAHTZEE
.BY BOB WISEMAN
  10 :return ;clear ;BC=12;NT=1
  20 gosub 900;B=1;T=0
  30 H=13mul B-9;gosub 700;gosub 300
  40 gosub 400;gosub 500;B=B+1
  45 gosub 90
  50 if B>A B=1;T=T+1
  60 if T<13goto 30
  70 gosub 800;STOP
  90 for S=49to 90;MU=S;next S;return 
 300 R=1;gosub 355
 305 for D=0to 4;gosub 360;next D
 310 R=R+1;if R=4return 
 315 gosub 355;D=0
 316 if D<0D=0
 317 if D>4D=4
 318 CX=-59;CY=27-Dmul 16;print "left ",
 320 if JX(B)MU=64;@(D)=0;box -71,CY,14,14,2
 325 if TR(B)gosub 90;D=9;goto 335
 330 if JY(B)=0Q=1;goto 320
 332 if Q=0goto 320
 335 Q=0;CX=CX-6;print " ";D=D-JY(B);if D<8goto 316
 340 for D=0to 4;if @(D)=0gosub 360
 345 next D;goto 310
 355 CX=-77;CY=40;print "RL#",#1,R;return 
 360 X=-71;Y=27-Dmul 16;Z=rnd (6);@(D)=Z
 365 box X,Y,14,14,1;MU=70+Z
 370 if Z#Zdiv 2mul 2box X,Y,2,2,2
 375 if Z=6box X-4,Y,2,2,2;box X+4,Y,2,2,2
 380 if Z>1box X-4,Y+4,2,2,2;box X+4,Y+4,2,2,2
 385 if Z>3box X-4,Y-4,2,2,2;box X+4,Y+4,2,2,2
 390 return 
 400 C=1
 405 I=C;CX=-47
 410 if C>6CX=-5;I=C-6
 415 CY=40-8mul I;print "right ",;CX=CX-6
 416 if JY(B)goto 416
 420 if TR(B)goto 450
 430 I=JY(B);if I=0goto 420
 435 TV=32;C=C-I;if C<1C=1
 440 if C>13C=13
 445 goto 405
 450 if @(H+C)=-1MU=74;TV=32;return 
 455 MU=81;MU=90;goto 420
 500 S=0;V=650;W=645;if C>6goto 525
 505 for D=0to 4;if @(D)=C S=S+C
 510 next D;goto V
 525 for D=0to 4;S=@(D)+S;next D
 530 for D=0to 4;for E=0to 4
 535 if @(D)<@(E)F=@(D);@(D)=@(E);@(E)=F
 540 next E;next D
 545 E=1;F=1;G=1;I=1;J=1;if C=13goto V
 550 for D=1to 4
 555 if @(D)=@(D-1)G=G+1;goto 568
 560 gosub 625;if @(D)-1=@(D-G)E=E+1;goto 568
 565 gosub 640
 568 next D
 570 if C<11gosub 625;goto 585
 575 gosub 640;if F<C-7goto W
 580 S=10mul C-80;goto V
 585 if C<9if I<C-4goto W
 590 if C=9S=25;if I+J<5goto W
 595 if C=10S=50;if I<5goto W
 600 goto V
 625 if G>I J=I;I=G;goto 635
 630 if G>J J=G
 635 G=1;return 
 640 if E>F F=E
 642 E=1;return 
 645 S=0
 650 @(H+C)=S;gosub 680
 665 for I=1to 500;next I;return 
 680 CX=-23;I=C
 685 if C>6I=C-6;CX=17
 690 CY=40-Imul 8;if S<0print "  ";return 
 695 print #2,S,;return 
 700 CX=-35;CY=40;print "PLAYER",#2,B
 702 for C=1to 13
 705 S=@(H+C);gosub 680
 720 next C;return 
 800 clear ;for B=1to A
 805 C=0;D=0;E=0;H=13mul B-9
 810 for F=1to 13;G=@(H+F)
 815 if F<7C=C+G
 820 if F>6E=E+G
 825 next F;if C>62D=35
 830 print "#",#1,B,#4,C," +",D," +",E," =",C+D+E
 840 next B;return 
 900 input "#PLAY?"A
 905 clear ;for D=0to 13mul A+4;@(D)=-1;next D
 910 CY=32;for D=1to 6;CX=-41;print #1,D,"S";next D
 920 CY=32;C=965;gosub C;print "3K
 930 gosub C;print "4K
 935 gosub C;print "FH
 940 gosub C;print "YZ
 945 gosub C;print "SS
 950 gosub C;print "LS
 955 gosub C;print "CH";return 
 965 CX=1;return 
:return ;run  
